import service from "../serviceIndex";

/**
 * 添加用户专区信息
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 */
export const addUserByZone = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/UserByZone/addUserByZone`,
    data,
  });
};

/**
 * 根据用户ID查询用户专区信息
 * @param {string} uid 用户Id
 */
export const selectUserZoneByUid = (uid) => {
  return service({
    method: "get",
    url: `/pipayshopapi/UserByZone/selectUserZoneByUid/${uid}`,
  });
};

/**
 * 将用户升级为团长
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 */
export const zoneLeader = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/UserByZone/zoneLeader`,
    data,
  });
};

/**
 * 根据用户id创建一级、二级团
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 */
export const createZones = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/Zone/createZones`,
    data,
  });
};

/**
 * 根据用户名和一级团id查询当前一级团信息
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 * @param {string} data.firstZoneId 一级团Id
 */
export const selectZone = ({ userId, firstZoneId }) => {
  return service({
    method: "get",
    url: `/pipayshopapi/Zone/selectZone/${userId}/${firstZoneId}`,
  });
};

/**
 * 通过邀请码入团
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 * @param {string} data.invitationCode 团所属邀请码
 */
export const invitationCode = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/Zone/invitationCode`,
    data,
  });
};

/**
 * 查询用户名和一级团id查询二级团信息
 * @param {object} data 请求体
 * @param {string} data.userId 用户Id
 * @param {string} data.firstZoneId 所属团Id
 */
export const selectTwoZones = ({ userId, firstZoneId }) => {
  return service({
    method: "get",
    url: `/pipayshopapi/Zone/selectTwoZones/${userId}/${firstZoneId}`,
  });
};

/**
 * 一级团返佣
 * @param {object} data 请求体
 * @param {string} data.userId 用户id
 * @param {string} data.zoneId 团Id
 */
export const firstRebate = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/Rebate/firstRebate`,
    data,
  });
};

/**
 * 二级团返佣
 * @param {object} data 请求体
 * @param {string} data.userId 用户id
 * @param {string} data.zoneId 团Id
 */
export const twoRebate = (data) => {
  return service({
    method: "post",
    url: `/pipayshopapi/Rebate/twoRebate`,
    data,
  });
};

/**
 * 二级团是否可返利及是否失效
 * @param {object} data
 * @param {string} data.userId 用户Id
 * @param {string} data.firstZoneId 所属团Id
 */
export const selectTwoZone = ({ userId, zoneId }) => {
  return service({
    method: "get",
    url: `/pipayshopapi/Zone/selectTwoZone/${userId}/${zoneId}`,
  });
};
